# -*- coding: utf-8 -*-
"""
Created on Sun Aug 13 07:46:01 2023

@author: skunk69
"""

import json

chinese_name = u'抑郁体验问卷'
english_name = 'Depressive Experiences Questionnaire'
abbreviation = 'DEQ'
category = u'精神病学临床量表'

outline = u"""抑郁体验问卷(Depressive Experiences Questionnaire，DEQ)是为了评定Blatt于1974年提出的抑郁的两个主要维度，即（1）情感依附性抑郁(anaclitic depression)，其特征为显著的无助感、需求感、害怕被遗弃和依赖他人，（2）内射性抑郁(introjective depression)，其特征为自己的标准过分严格，自罪感、无价值感和自尊心丧失。作者将一个人形成情感依附性或内射性抑郁的自然倾向特定为自发育早期即已植根于自身的稳定的人格特质。DEQ并不试图评价抑郁症状本身，而是要评价常与抑郁相关联的广泛的内心体验。自DEQ问世以来，在国际上得到了广泛的研究和应用。国内有关DEQ的研究较少，1993年刘平将其翻译成中文量表，刘秀菊、孟宪璋和姚树桥等对DEQ进行了相关研究。"""

instruction = u"""以下列出一此与个人特点和素质有关的陈述。逐条阅读并确定您是否同意以及程度如何。如果您强烈反对，选1。如果您完全同意，选7。选如果您觉得介乎两者之间，在1与7之间选择(适合您的)任-数字，中间值是4，当您的态度不偏不倚或不能确定时，可选此值。
1=强烈反对，2=比较反对，3=稍微反对，4=既不反对也不同意，5=稍微同意，6=比较同意，7=完全同意。"""

with open('DEQ.txt','r',encoding='utf-8') as f:
    lines = f.readlines()
    f.close()

items = {}
for key,line in enumerate(lines):
    _,value = line.strip().split('）',maxsplit=1)
    items[key+1] = value.strip()

reverse_items = [9,18,62]
scales = [u'自我批评',u'无助',u'依赖',u'自主性',u'满意']
scales_items = [
    [7,10,11,13,16,22,30,35,37,41],# 自我批评
    [2,19,23,45,46,50,51,55],# 无助
    [6,56,57,63],# 依赖
    [4,36,44,58,60],# 自主性
    [9,12,18,21,48,62],# 满意
    ]

# check scales_items
print(f'scale length={[len(l) for l in scales_items]}')

check = []
for l in scales_items:
    check = check+l
print(f'len(check)={len(check)}')

# complementary set
check_set = {i for i in sorted(check)}^{i for i in range(1,67)}
print(f'complementary set= {check_set}')

factors = []
factors_scales = []
rating = [u'强烈反对',u'比较反对',u'稍微反对',u'既不反对也不同意',
          u'稍微同意',u'比较同意',u'完全同意']
score_rules = list(range(1,8))

contents = {
    'instruction':instruction,
    'items':items,
    'reverse_items':reverse_items,
    'scales':scales,
    'scales_items':scales_items,
    'factors':factors,
    'factors_scales':factors_scales,
    'rating':rating,
    'score_rules':score_rules       
    }

implementation = u"""《抑郁体验问卷》属于一个自评量表。"""

reliability = u"""刘秀菊和孟宪璋（2006）的正式样本来自大学生群体。通过探索性因素分析，获得一个五因子结构（自我批评、无助、依赖、自主性和无助），方差解释率达到了60%。五个因子的内部一致性系数为0.65~0.79，全量表为0.81。间隔四周重测，五个因子的重测信度系数为0.91，0.88，0.85，0.82和0.87。"""
validity = u"""DEQ五个因子都和抑郁自评量表（SDS）总分显著相关，其中，自我批评因子和SDS的相关系数最高为0.508，无助因子为0.382，依赖因子为0.252，自主性因子为0.298，满意因子与SDS呈显著负相关，为-0.148。"""
measurements = {'reliability':reliability,'validity':validity}

interpretation = u"""首先将反向条目反向计分，然后将各维度条目相加得到各维度分，所有条目得分相加得到总分。
刘秀菊和孟宪璋（2006）五因子结构中，自我批评因子主要反映的是当达不到自己的标准或期望时内疚、自责和对自我不满意，关注赞美和认可；无助因子反映当与他人的关系面临丧失或破裂时的孤独无助感；依赖因子反映了被试者对他人的情感依赖；自主性因子反映了自我界定问题，自我不能获得统一稳定结构，在夸大和贬低的两极摆动；满意因子反映的是对自己的潜力和能力自信，独立且具有责任感，对个人的成就感到自豪和满意。"""

applications = u"""实证研究主要涉及对抑郁症状、自杀观念及行为、完美主义等的研究。结果显示，自我批评与抑郁关系最为密切，自我批评的个体存在着严厉或苛刻的客体认同，他们有更强烈的死亡意图，自杀尝试更有致命性。"""

this_scale = {
    'chinese_name':chinese_name,
    'english_name':english_name,
    'abbreviation':abbreviation,
    'category':category,
    'outline':outline,
    'contents':contents,
    'implementation':implementation,
    'measurements':measurements,
    'interpretation':interpretation,
    'applications':applications    
    }

with open(abbreviation+'.json','w+',encoding='utf-8') as f:
    json.dump(this_scale,f,indent=2,ensure_ascii=False)